package cn.mw.cmdb.entity.FinanceReport;

import cn.mw.components.mongodb.anno.CMDBProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;
import java.util.Map;

@Data
@Document("mw_cmdbmd_finance_report_instance_info")
@Schema(description = "金融元实例上报结果信息")
public class InstanceReportResultInfo {

    @Schema(description = "上报通道")
    @CMDBProperty
    private Integer channelId;

    @Schema(description = "上报记录id")
    @CMDBProperty
    private String historyId;

    @Schema(description = "实例id")
    @CMDBProperty
    private String instanceId;

    @Schema(description = "资产名称")
    private String instanceName;

    @Schema(description = "模型分组")
    private String modelGroupName;

    @Schema(description = "模型名称")
    private String modelName;

    @Schema(description = "金融元分类标识符")
    private String facilityCategory;

    @Schema(description = "金融元设施标识符")
    private String facilityDescriptor;

    @Schema(description = "上报参数")
    @CMDBProperty
    private Map<String, Object> requestParam;

    @Schema(description = "校验结果")
    @CMDBProperty
    private Boolean checkResult;

    @Schema(description = "校验信息")
    @CMDBProperty
    private String checkMessage;

    @Schema(description = "上报结果")
    private Boolean reportResult;

    @Schema(description = "当前状态")
    private String currentCode;

    @Schema(description = "信息")
    private String message;

    @Schema(description = "上报时间")
    @CMDBProperty
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date reportDate;

    @Schema(description = "上报人")
    @CMDBProperty
    private String reporter;

    @Schema(description = "上报完成时间")
    @CMDBProperty
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date reportCompleteDate;
}
